let stuent: string = "我是一个好学生！";
const xs: string = "我是一个好学生！";
let is_done: boolean = true;
let dex: number = 9;
stuent = "tom";
let sentence: string = 'hello,my name is ${student}.Iwill be ${dex+2} years old next month.';
let lisst: number[] = [1, 2, 3, 4];
let lisst2: Array<number> = [1, 2, 3, 4];
declare function create(o: object | null): void;
create({ prop: 0 });
create(null);
let some_value: any = "this is a string";
let str_length: number = (some_value as string).length;
const kitty: object = { name: "deml", numList: xs, boolean: true };
function add_ac(x: string, y?: string, z?: string) {
	return x + y + z;
}
add_ac("AA");
function add_b(x: number, y: number) {
	return x + y;
}
add_b(17, 18);
function add_c(x: string | number, ...y: string[]) {
	return x + " " + y.join(" ");
}
add_c("买", "彪");
add_c("t", "o", "m");
function buildNames(firstName = "Will", lastName: string) {
	return firstName + " " + lastName;
}

buildNames(undefined, "dd");
function addJia(x: string | number, y: string | number) {
	if (typeof x === "number" && typeof y === "number") {
		return x + y;
	} else {
		return x.toString() + y.toString();
	}
}